import request from "@/utils/request";

export interface LoginParamsData {
  username:string,
  password:string
}
interface TokenData {
  token:string
}
export interface UserInfoData {
  routes:string[],
  buttons:string[],
  roles:string[],
  name:string,
  avatar:string
}

export default {
  // GET  /admin/acl/index/info
  // info
  info(){
    return request.get<any,UserInfoData>(`/admin/acl/index/info`)
  },
  // POST /admin/acl/index/login
  // login
  login(loginParams:LoginParamsData){
    // 咱们之后不管是使用get post delete put这些请求方式 他们约束返回结果的玩法都是一样的
    // 调用这些方法时 咱们只需要传递两个泛型 第一个是要占位的 第二个才是咱们约束真正请求到的数据的类型
    return request.post<any,TokenData>(`/admin/acl/index/login`,loginParams)
  },
  // POST /admin/acl/index/logout
  // logout
  logout(){
    return request.post<any,null>(`/admin/acl/index/logout`)
  }
};
